package org.joot.jmir2.texture;

/**
 * 接口 - 纹理贴图
 * 
 * @author ShawRyan
 *
 */
public interface Texture {

	/**
	 * 获取纹理索引
	 * 
	 * @return 索引，全局唯一整形
	 */
	public Integer getTextureRef();

	/**
	 * 绑定纹理到OpenGL上下文
	 */
	public void bind();

	/**
	 * 释放纹理引用
	 */
	public void release();

	/**
	 * 获取纹理高度
	 *
	 * @return 图片高度
	 */
	public int getHeight();

	/**
	 * 获取纹理宽度
	 *
	 * @return 图片宽度
	 */
	public int getWidth();

	/**
	 * 获取纹理ID
	 * 
	 * @return 纹理ID
	 */
	public int getTextureID();

	
	/** 纹理类型：大地砖 */
	public final static int TEXTURE_TYPE_TILES = 1;
	/** 纹理类型：小地砖 */
	public final static int TEXTURE_TYPE_SMTILES = 2;
	/** 纹理类型：加载对象 */
	public final static int TEXTURE_TYPE_OBJECTS = 4;
	/** 纹理对象：怪物 */
	public final static int TEXTURE_TYPE_MONSTER = 8;
	/** 纹理对象：NPC */
	public final static int TEXTURE_TYPE_NPC = 16;
	/** 纹理对象：玩家 */
	public final static int TEXTURE_TYPE_HUM = 32;

}